package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.EpmInformation;
import org.apache.ibatis.annotations.Select;
import com.ruoyi.system.domain.Time;
/**
 * 员工信息Mapper接口
 * 
 * @author ruoyi
 * @date 2024-05-10
 */
public interface EpmInformationMapper 
{
    /**
     * 查询员工信息
     * 
     * @param id 员工信息主键
     * @return 员工信息
     */
    public EpmInformation selectEpmInformationById(Long id);

    /**
     * 查询员工信息列表
     * 
     * @param epmInformation 员工信息
     * @return 员工信息集合
     */
    public List<EpmInformation> selectEpmInformationList(EpmInformation epmInformation);

    /**
     * 新增员工信息
     * 
     * @param epmInformation 员工信息
     * @return 结果
     */
    public int insertEpmInformation(EpmInformation epmInformation);

    /**
     * 修改员工信息
     * 
     * @param epmInformation 员工信息
     * @return 结果
     */
    public int updateEpmInformation(EpmInformation epmInformation);

    /**
     * 删除员工信息
     * 
     * @param id 员工信息主键
     * @return 结果
     */
    public int deleteEpmInformationById(Long id);

    /**
     * 批量删除员工信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEpmInformationByIds(Long[] ids);

    /**
     * 查询员工生日信息列表
     *
     * @param month 月份
     * @return 员工信息集合
     */
    List<EpmInformation> selectEpmInformationByBirthMonth(int month);

    /**
     * 查询员工合同信息列表
     *
     * @param time 时间
     * @return 员工信息集合
     */
    List<EpmInformation> selectEpmInformationByContractData(Time time);

    /**
     * 添加入职状态
     *
     * @param UserId 用户id
     * @return 结果
     */
    public int Record_onboarding_status(Long UserId);


    /**
     * 添加入职状态
     *
     * @param idCard 用户id
     * @return 结果
     */
    EpmInformation checkIdCardUnique(String idCard);


    /**
     * 老员工重新入职修改入职状态
     *
     * @param idCard 用户id
     * @return 结果
     */
    int add_old_epm(String idCard);


    /**
     * 使用身份证查询员工信息
     *
     * @param IdCard 员工信息主键
     * @return 员工信息
     */
    public EpmInformation selectEpmInformationByIdcard(String IdCard);


}
